One of the biggest issues facing the content industry, such as music, video, and software industries, is the illegal copying of their copyrighted works. This factor contributes to the loss of billions of dollars of income to the artist or author of the copyrighted works and their publishers and distributors every year. Many approaches to reducing the severity of this problem have been implemented and used, with varying amounts of success.
In the software industry, these methods are typically referred to as anti-piracy methods. These methods can include copy protection schemes, as well as methods for restricting the execution of a software program by use of various encryption and licensing schemes. For example, there have been schemes used to prevent the copying of a floppy disk by various techniques that make it impossible to read the contents of the floppy disk using standard disk driver software. Only with special driver software can the floppy be actually read, usually with some difficulty, and the software contained on the floppy disk loaded and executed.
Some methods of restricting illegal copying of software includes imprinting the software with unique information about the system it is installed on, which prevents the program from running after being copied to another computer. An example if this is to use the hardware configuration of the system, such as which I/O cards are installed, and/or processor serial number to uniquely identify the authorized computer system on which the software is to run.
Another example is a method for licensing “seats” for the use of software. In this case, a license file—which can typically only be generated by the licensing authority—is sold along with the application program. The application program will refuse to operate without the presence of the license file, either on the local computer on which the software is to be run, or available over a network on a remote computer.
These efforts have been of limited success for high-demand horizontal market software programs, and more successful for programs with narrower, vertical markets, including software used by large businesses, and high value software for musicians or video engineers, for example. One case of high-demand horizontal market software is the computer game industry. In this case, the time between the release of a new, high consumer demand game and the availability of illegal copies can be a matter of hours. Thus, the amount of profit in selling the legal copies of the game is directly proportional to the time between initial release and the first available illegal copy. Many game companies would be significantly more profitable if this time could be extended to a mere day.
Software hackers use various software and hardware tools to understand and defeat anti-piracy mechanisms, including software debuggers and in-circuit emulator hardware (ICE). These tools must be taken into consideration when planning a successful mechanism for increasing the difficulty of breaking the anti-piracy features.
What is needed is a method and system for extending the time between the release of a software program and the time when an illegal copy is made available by making it more difficult for a hacker to break the anti-piracy mechanisms included within the software program, and/or to make it more difficult for a program to be reverse engineered. The present invention addresses such a need.